2.3 Menu UI serveur http

Ce menu est quasi indépendant.
L'initialisation consiste à se procurer le dictionnaire des paramètres et quelques autres données (nom du modèle).
Après modification, la cloture consiste à renvoyer les données. Ceci que soit en mode 'émetteur déposé' ou en mode 'simulateur'.

Le mode d'écriture est classique html,sans fioriture et en tenant compte de la taille limitée d'un écran de smartphone. (peut-être avec l'usage d'un 'slider' en complément du clavier)

Recyclage V8

Conversion du contenu variable de l'URL

Dans le projet RCCL_V8_pizerow, utiliser lib_webmenu.py
Exemple: ligne 344

def param3(actionSplit, form): #afficher le détail du paramètre 'name' dans la box 'id' + gérer les mises à jour
    print (f"param3  actionSplit={actionSplit}  form={form}")
    id =actionSplit[1]
    name =actionSplit[2]

La variable actionSplit comporte le contenu variable de l'URL, est remplacée avec microdot par deux variables de l'URL : id et name voir https://microdot.readthedocs.io/en/latest/intro.html#including-dynamic-components-in-the-url-path

gestion des forms

Structure du menu

Un écran principal et plusieurs programmes de traitement
Éventuellement : https://microdot.~~readthedocs~~.io/en/latest/intro.html#mounting-a-sub-application

Programmation avec serveur

Le modèle est la petite 'box' réalisée pour l'émetteur DC16 voir ../Develop/JetiDC/RCCLV5_EX

Microdot est asyncio mais ce n'est pas nécessaire pour V9:

  • un seul client
  • le '@app.route'peut être blocking :
    - envoi d'une demande de données
    - réception et mise en page html sont très courts à l'échelle humaine
    Pour le debug sans émetteur connecté il faut utiliser wingware ou thonny sur le laptop, avec des 'hwvar' fixes.

Le programme UI comporte plusieurs tâches , non exploitées simultanément:

  • en mode 'vol' le système de dictée est actif
  • en mode 'sol' les commandes menu sont actives, avec réponse au lcd
  • en mode wifi les demandes viennent du browser

Programmation laptop

Il est utilisé avec ou sans connection avec l'émetteur

  • connecté à l'émetteur :
    • transfert des fichiers entre le pc et le processeur C
    • tuning des paramètres
  • sans connection
    • créer un nouveau modèle = créer le fichier xyz.py
    • mise au point d'un modèle = créer puis ajuster le fichier de paramètres xyz.mdp
  • pour le 'debug' des programmes, en utilisant Thonny ou WingWare
    • le 'standard' d'un pilote ()
    • tout autre programme

Un outil GUI /Python a été utilisé dans RCCL_Py, PySimpleGUI ( https://docs.pysimplegui.com/en/latest/ )
Multiple tabs https://docs.pysimplegui.com/en/latest/cookbook/original/tabs/